package dao

import "errors"

type SceneNode struct {
	Id	int	`gorm:"primary_key" json:"sn_id"` //主键id
	Scene_id	int	`json:"scene_id"` //场景id
	Date	string	`json:"date"` //数据json
}

type SceneNodeUuid struct {
	Uuid string `json:"uuid"`
}

// 设置User的表名为`profiles`
func (SceneNode) TableName() string {
	return "scene_node"
}

func (sn *SceneNode)Create() int {
	result := db.Create(&sn)
	if result.Error != nil {
		return 0
	}
	return sn.Id
}

func (sn *SceneNode)Find() ([]SceneNode,error)  {
	var sceneNode []SceneNode
	table := db.Select("id,scene_id,date")
	if sn.Scene_id != 0 {
		table.Where("scene_id = ?",sn.Scene_id)
	}
	if err := table.Find(&sceneNode).Error; err != nil {
		return nil, err
	}

	return sceneNode,nil
}


func (sn *SceneNode) FindSceneId() ([]*SceneNodeUuid, error){
	var uuidArray []*SceneNodeUuid
	table := db.Select("uuid")
	if sn.Scene_id == 0 {
		return uuidArray, errors.New("scene_id不能为0")
	}
	table = table.Joins("left join bc_vm on bc_scene_node.id = bc_vm.sn_id").Where("scene_id = ?",sn.Scene_id)
	err := table.First(&uuidArray).Error
	return uuidArray, err
}

